// WriteContract.java
package com.example.memorypoint.mvp.write;

import com.example.memorypoint.entity.Diary;

public interface WriteContract {
    // View 层接口：定义需要让 Activity 实现的方法
    interface WriteView {
        // 显示日记详情（包括标题、日期、内容、天气、表情等）
        void showDiary(Diary diary);
        // 显示错误信息
        void showError(String error);
        // 日记保存成功后的回调
        void diarySaved();
    }

    // Presenter 层接口：定义业务逻辑方法
    interface WritePresenter {
        // 加载日记数据，根据传入的日记 ID
        void loadDiary(int diaryId);
        // 保存日记，包含标题和内容（其他如天气、表情等可在此扩展）
        void saveDiary(String title, String content);
        // 分离 View（防止内存泄露）
        void detachView();
    }
}
